/**
 * 
 */
package com.redside;

/**
 * @author <a href="mailto:pchapman@easystreet.net">Peter Chapman</a>
 *
 */
public class Constants {
	/**
     * The name of the ResourceBundle used in this application
     */
    public static final String BUNDLE_KEY = "ApplicationResources";
    /**
     * The name of the configuration hashmap stored in application scope.
     */
    public static final String CONFIG = "appConfig";
    /**
     * The name for obtaining OptionBean object values for BUS_CAT_LIST
     */
    public static final String BUS_CAT_LIST = "businessCategories";
    /**
     * The name for obtaining a single OptionBean object
     */
    public static final String BUS_CAT_BEAN = "busCatById";
    /**
     * The name for obtaining OptionBean object values for COMPLAINT_STATUS_LIST
     */
    public static final String COMPLAINT_STATUS_LIST = "complaintStatus";

    public static final String COMPLAINT_STATUS = "complaintStatusDescById";
    /**
     * The name for obtaining a single OptionBean object
     */
    public static final String COUNTY_BEAN = "countyById";
    /**
     * The name for obtaining OptionBean object values for COUNTY_LIST
     */
    public static final String COUNTY_LIST = "countyList";
    /**
     * The name for obtaining OptionBean object values for CORRESPONDENCE_TYPES
     */
    public static final String CORRESPONDENCE_TYPES = "correspondenceTypeList";
    /**
     * The name for obtaining a single OptionBean object
     */
    public static final String CORR_TYPE_BEAN = "corrTypeById";
    
    public static final String VIOLATION_TYPE_BEAN="violationTypeById";
    
    public static final String VIOLATION_BEAN="violationTypes";
    /**
     * The name for obtaining OptionBean object values for STATE_LIST
     */
    public static final String STATE_LIST = "stateList";
    /**
     * The name for obtaining a single OptionBean object for EXEMPT_STATUS
     */
    public static final String EXEMPT_REASON_BEAN = "exemptReasonById";
    /**
     * The name for obtaining OptionBean object values for EXEMPT_REASONS
     */
    public static final String EXEMPT_REASONS = "exemptReasons";
    /**
     * The name for obtaining OptionBean object values for EXEMPT_STATUS
     */
    public static final String EXEMPT_STATUS = "exemptStatus";
    /**
     * The name for obtaining a single OptionBean object for EXEMPT_STATUS
     */
    public static final String EXEMPT_STATUS_BEAN = "exemptStatusById";
    /**
     * The name for obtaining OptionBean object values for COMPLAINT_NATURE
     */
    public static final String COMPLAINT_NATURE = "natureOfComplaint";
    /**
     * The name for obtaining OptionBean object values for COMPLAINT_STATUS_LIST
     */
    public static final String COMPLAINT_NATURE_BEAN = "natureOfComplaintById";
    /**
     * The name for obtaining OptionBean object values for NON_ACTIONABLE
     * reasons
     */
    public static final String NON_ACTIONABLE = "nonActionable";
    public static final String NON_ACTIONABLE_BEAN = "nonActionableById";

    /**
     * Session scope attribute that holds the locale set by the user. By setting
     * this key to the same one that Struts uses, we get synchronization in
     * Struts w/o having to do extra work or have two session-level variables.
     */
    public static final String PREFERRED_LOCALE_KEY = "org.apache.struts2.action.LOCALE";

    /**
     * The request scope attribute under which an editable user form is stored
     */
    public static final String USER_KEY = "userForm";

    /**
     * The request scope attribute that holds the user list
     */
    public static final String USER_LIST = "userList";

    /**
     * The request scope attribute for indicating a newly-registered user
     */
    public static final String REGISTERED = "registered";

    /**
     * The name of the Administrator role, as specified in web.xml
     */
    public static final String ADMIN_ROLE = "ROLE_ADMIN";

    /**
     * The name of the User role, as specified in web.xml
     */
    public static final String USER_ROLE = "ROLE_USER";

    /**
     * The name of the TPEP role
     */
    public static final String TPEP_ROLE = "ROLE_TPEP";

    /**
     * The name of the user's role list, a request-scoped attribute when
     * adding/editing a user.
     */
    public static final String USER_ROLES = "userRoles";

    /**
     * The name of the available roles list, a request-scoped attribute when
     * adding/editing a user.
     */
    public static final String AVAILABLE_ROLES = "availableRoles";

    /**
     * Sorting orders for business report
     */
    public static final String[] BUSINESS_SORT_ORDER_1 = { "businessName",
            "address.address1", "address.address2" };
    public static final String[] BUSINESS_SORT_ORDER_2 = { "address.address1",
            "address.address2" };

    /**
     * The name of the CSS Theme setting.
     */
    public static final String CSS_THEME = "csstheme";

    /**
     * The name of tabs for the UI
     */
    public static final String TAB_ACTION_ITEMS = "Action Items";
    public static final String TAB_REPORTS = "Reports";
    public static final String TAB_SEARCH_COMPLAINTS = "Search Complaints";
    public static final String TAB_PROCESS_COMPLAINT = "Process Complaint";
    public static final String TAB_SYS_ADMIN = "Sys Administration";

    /**
     * The name of secondary links for the UI
     */
    public static final String LINK_COMPLAINT_DETAILS = "Complaint Details";
    public static final String LINK_CORRESPONDENCE = "Correspondence";
    public static final String LINK_SITE_VISIT = "Site Visit";
    public static final String LINK_CITATION = "Citation";
    public static final String LINK_BUSINESS_VIEW = "Business View";
    public static final String LINK_ADMIN_BUSINESS = "Administer Bus";
    public static final String LINK_ADMIN_COMPLAINT = "Administer Complaints";
    public static final String LINK_ADMIN_EMAIL = "Administer Emails";
    public static final String LINK_ADMIN_EXMPT_BUSINESS = "Exempt Businesses";
    public static final String MERGE_BUSINESS = "Merge Businesses";
    public static final String LINK_ADMIN_USERS = "Manage Users";

    /**
     * Validation messages
     */
    public static final String COMPLAINT_SEARCH_INVALID_FORM = "Please fill out at least one of the criteria below.";
    public static final String COMPLAINT_SEARCH_INVALID_ID = "Complaint ID must be a number.";
    public static final String COMPLAINT_SEARCH_INVALID_BETWEEN_DATES = "Invalid between date(s).  Format is MM/DD/YYYY";
    public static final String COMPLAINT_SEARCH_INVALID_DATE = "Invalid date.  Format is MM/DD/YYYY";
    public static final String SITE_VISIT_FOLLOW_UP_INVALID_DATE = "The Follow-up Visit date may not be before the required Remediation date.";
    public static final String SITE_VISIT_BEFORE_INVALID_DATE = "The Site Visit date may not be before the Complaint Submitted date.";
    public static final String SITE_VISIT_REMEDIATION_INVALID_DATE = "Date must be within 15 days of the Site Visit Date.";
    public static final String MM_DD_YYYY = "MM/dd/yyyy";
    public static final String SITE_VISIT_VALID_DATE = "A valid Site Visit Date is required.";
    public static final String SITE_VISIT_VALID_FOLLOW_UP_DATE = "A valid Follow-up Visit Date is required.";
    public static final String SITE_VISIT_INVALID_DATE = "Site visit date must be within 30 days of the complaint submitted date.";
    public static final String SITE_VISIT_COMMENT_NEEDED = "Please explain why you were unable to conduct the Site Visit in the County Comments section below.";
    public static final String SITE_VISIT_FOLLOWUP_RESULT_NEEDED = "If follow-up visit is yes, a valid follow-up visit result is required.";
    public static final String SITE_VISIT_MAIL_FILE = "Remember to mail business orginal hardcopy file to TPEP.";
    public static final String SITE_VISIT_INVALID = "You have have a site visit to have a violation found.";
    public static final String SITE_VISIT_INVALID_VIOLATION = "You must have a valid violation found answer.";
    public static final String SITE_VISIT_NOT_SAVED = "This date is not within 30 days of the complaint submitted date. Please contact TPEP.";
    public static final String ADMIN_COMPLAINT_ACTIONABLE = "A non-actionable reason can't be given if the complaint is actionable.";
    public static final String INVALID_EMAIL = "The Email address is in valid.";

    /**
     * Form messages
     */
    public static final String COMPLAINT_DETAILS = "Complaint comments have been saved.";

    /**
     * Complaint Status
     */
    public static final Long COMPLAINT_STATUS_CITATION_ISSUED = 11L;
    public static final Long COMPLAINT_STATUS_CITATION_NOT_ISSUED = 12L;
    public static final Long COMPLAINT_STATUS_FINE_RECEIVED = 15L;

    /**
     * Correspondence
     */
    public static final Long HARD_COPY_CORR_ID = 20L;
    public static final String HARD_COPY_CORR_DESC = "Non-WEMS Hard Copy";
    public static final Long CORR_TYPE_COMPLAINANT = 1L;
    public static final String CORR_TYPE_COMPLAINANT_DESC = "Complainant Letter";
    public static final Long CORR_TYPE_IRL = 2L;
    public static final String CORR_TYPE_IRL_DESC = "Initial Response Letter";
    public static final Long CORR_TYPE_CUSTOM = 3L;

    /**
     * LDAP error constants
     */
    public static final String SYSTEM_UNAVAILABLE = "System currently inaccessible due to connectivity issues. <br />Please try again shortly.";
    public static final String REQUEST_INVALID = "Invalid request.";
    public static final String USER_PASSWORD_INVALID = "Invalid User Password";
    public static final String USER_LOGIN_INVALID = "Invalid User ID";
    public static final String USER_NOT_FOUND = "User Not found";
    public static final String MULTIPLE_USERS_FOUND = "Multiple users with that E-mail";
    public static final String INVALID_ACCESS_TO_APP = "User does not have access to application: ";
    public static final String INSUFFICIENT_ROLES = "User does not have sufficient roles.";
    public static final String USER_HAS_ROLE = "User already has access to role";
    public static final String SESSION_USER = "user";
    public static final String LOGIN_REDIRECT = "login.wems";
    public static final String USER_NAME = "username";
    public static final String USER_PASSWORD = "password";
    public static final String INVALID_LOGIN = "Username/Password Invalid";

    /**
     * Email
     */
    public static final Long NEW_COMPLAINT = 1L;
    public static final Long TPEP_COMPLAINT = 2L;
    public static final Long REASSIGNED_COMPLAINT = 3L;

    /**
     * Note types
     */
    public static final String COMPLAINT_DETAILS_NOTE = "complaint details";
    public static final String SITE_VISIT_NOTE = "site visit";
    public static final String CITATION_NOTE = "citation";
    public static final String BUSINESS_VIEW_NOTE = "business view";

    /**
     * Site Visit
     */
    public static final String REMEDIATION_RESULT = "1";
    public static final Long REMEDIATION_REQUIRED = 5L;
    public static final Long SITE_VISIT_NO_VIOLATION = 6L;
    public static final Long SITE_VISIT_DENIED = 7L;
    public static final Long FOLLOW_UP_VISIT_NO_VIOLATION = 8L;
    public static final Long FOLLOW_UP_VISIT_VIOLATION = 9L;
    public static final Long FOLLOW_UP_VISIT_DENIED = 10L;
    public static final int REMEDIATION_DATE = 15;

}
